HTTP前端程式庫:requests
text:文字,取得純文字格式的資源本體。
content:內容,取得 byte(位元組)格式的 HTTP 內容。
headers:標頭,取得 HTTP 回應的完整標頭。
status_code:狀態碼,取得 HTTP 狀態碼。
reason:原因,取得 HTTP狀態原因短語。
使用requests下載檔案
例:
import requests as req
url = 'http://swf.com.tw/scrap/img/IR.png'
file_name = url.split('/')[-1]
r = reg.get(url)
with open(file_name, 'wb')as f:
f.write(r.content)
9527 <- 下載檔的位元組大小
lxml解析HTML:
import requests as req
from lxml import html
url = 'http://swf.com. tw/scrap/'
page = req.get(url)
dom = html.fromstring(page.text)
images = dom.xpath('//img/@src')
上面的程式將網頁裡的全部影像檔路徑,以列表格式存放在 images 變數,底下則是透過 for…in迴圈,逐一下載所有影像檔的程式片段
for img in images:
if not img.startswith('http'):
img = url+ img
h = req.head(img)
MIME = h.headers['content-type']
if (h.status_code == 200) and ('image'in MIME) :
print('下載檔案網址:' + img)
filename = download(img)
print(filename + '下載完畢!')